package com.iwdnb.gkgz.common.utils;

import java.util.Date;
import java.util.Objects;

import cn.hutool.core.date.DateUtil;

public class DateUtils {

    public static boolean before(String d1, String d2) {
        return before(DateUtil.parseDateTime(d1),DateUtil.parseDateTime(d2));
    }

        public static boolean before(Date d1, Date d2) {
        if (Objects.isNull(d1) || Objects.isNull(d2)) {
            return false;
        }
        return d1.getTime() < d2.getTime();
    }


    public static boolean beforeOrEquals(String d1, String d2) {
        return beforeOrEquals(DateUtil.parseDateTime(d1),DateUtil.parseDateTime(d2));
    }

    public static boolean beforeOrEquals(Date d1, Date d2) {
        if (Objects.isNull(d1) || Objects.isNull(d2)) {
            return false;
        }
        return d1.getTime() <= d2.getTime();
    }

    public static boolean after(String d1, String d2) {
        return after(DateUtil.parseDateTime(d1),DateUtil.parseDateTime(d2));
    }

    public static boolean after(Date d1, Date d2) {
        if (Objects.isNull(d1) || Objects.isNull(d2)) {
            return false;
        }
        return d1.getTime() > d2.getTime();
    }

    public static boolean afterOrEquals(String d1, String d2) {
        return afterOrEquals(DateUtil.parseDateTime(d1),DateUtil.parseDateTime(d2));
    }

    public static boolean afterOrEquals(Date d1, Date d2) {
        if (Objects.isNull(d1) || Objects.isNull(d2)) {
            return false;
        }
        return d1.getTime() >= d2.getTime();
    }
}
